package com.christina.service;

import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.messages.AssistantMessage;
import org.springframework.ai.chat.messages.Message;
import org.springframework.ai.chat.messages.UserMessage;
import reactor.core.publisher.Flux;

import java.util.List;

/**
 * AI服务接口
 * 
 * @author Christina
 */
public interface AiService {
    
    /**
     * 发送消息给AI并获取回复
     * 
     * @param message 用户消息
     * @param userId 用户ID
     * @return AI回复
     */
    String chat(String message, Long userId);
    
    /**
     * 发送消息给AI并获取流式回复
     * 
     * @param message 用户消息
     * @param userId 用户ID
     * @return AI流式回复
     */
    Flux<String> chatStream(String message, Long userId);
    
    /**
     * 获取聊天历史
     * 
     * @param userId 用户ID
     * @return 聊天历史记录
     */
    List<Message> getChatHistory(Long userId);
    
    /**
     * 清除聊天历史
     * 
     * @param userId 用户ID
     */
    void clearChatHistory(Long userId);
}